<?php

class SiteController extends Controller {

    /**
     * user tabs
     */
    public $tabs = array();
    public $activeTab = 0;

/**
 * Declares class-based actions.
 */
    public function actions() {
        return array(
        // captcha action renders the CAPTCHA image displayed on the contact page
        'captcha'=>array(
        'class'=>'CCaptchaAction',
        'backColor'=>0xFFFFFF,
        ),
        // page action renders "static" pages stored under 'protected/views/site/pages'
        // They can be accessed via: index.php?r=site/page&view=FileName
        'page'=>array(
        'class'=>'CViewAction',
        ),
        );
    }

    /**
     * This is the default 'index' action that is invoked
     * when an action is not explicitly requested by users.
     */
    public function actionIndex() {
    /**
     * adding js scripts and css files
     */
        Yii::app()->clientScript->registerCssFile('jquery-ui.css');
        
        Yii::app()->clientScript->registerScriptFile('jquery.js');
        Yii::app()->clientScript->registerScriptFile('jquery-ui.js');
//        Yii::app()->clientScript->registerScriptFile('jquery.form.js');
        Yii::app()->clientScript->registerScriptFile('jquery.swfobject.js');
        Yii::app()->clientScript->registerScriptFile('jquery.sifr.js');
        Yii::app()->clientScript->registerScriptFile('jquery-layout.js');
        Yii::app()->clientScript->registerScriptFile('main.js');


        if(Yii::app()->user->isGuest) {
            //uzytkownik niezalogowany
            if(!$_GET['uid']) {
                $uid = md5( time() + rand(0, 1000) );
                $this->redirect(array('/_'.$uid));
            }
            else{
                $Tabs = Tabs::model()->findAll(array('condition'=>'session_id="'.$_GET['uid'].'"'));
                if(!empty($Tabs))
                    $this->tabs = $Tabs;
            }
        }
        else {
        //użytkownik zalogowany
        }

        if($_GET['tabId']) $this->activeTab = $_GET['tabId'];
        elseif(!empty($this->tabs)) $this->activeTab = $this->tabs[0]->id;

        $notes = array();
        if($this->activeTab){
            $notes = Notes::model()->findAll(array(
                    'condition'=>'tab_id='.$this->activeTab,
                ));
        }
        

        $this->render('index', array('notes'=>$notes));
    }

    /**
     * This is the action to handle external exceptions.
     */
    public function actionError() {
        if($error=Yii::app()->errorHandler->error) {
            if(Yii::app()->request->isAjaxRequest)
                echo $error['message'];
            else
                $this->render('error', $error);
        }
    }

    /**
     * Displays the contact page
     */
    public function actionContact() {
        $model=new ContactForm;
        if(isset($_POST['ContactForm'])) {
            $model->attributes=$_POST['ContactForm'];
            if($model->validate()) {
                $headers="From: {$model->email}\r\nReply-To: {$model->email}";
                mail(Yii::app()->params['adminEmail'],$model->subject,$model->body,$headers);
                Yii::app()->user->setFlash('contact','Thank you for contacting us. We will respond to you as soon as possible.');
                $this->refresh();
            }
        }
        $this->render('contact',array('model'=>$model));
    }

    /**
     * Displays the login page
     */
    public function actionLogin() {
        $model=new LoginForm;
        // collect user input data
        if(isset($_POST['LoginForm'])) {
            $model->attributes=$_POST['LoginForm'];
            // validate user input and redirect to the previous page if valid
            if($model->validate())
                $this->redirect(Yii::app()->user->returnUrl);
        }
        // display the login form
        $this->render('login',array('model'=>$model));
    }

    /**
     * Logs out the current user and redirect to homepage.
     */
    public function actionLogout() {
        Yii::app()->user->logout();
        $this->redirect(Yii::app()->homeUrl);
    }
}